package com.dt.platform.domain.oa.meta;

import com.github.foxnic.api.bean.BeanProperty;
import com.dt.platform.domain.oa.ProjectUser;
import java.util.Date;
import org.github.foxnic.web.domain.hrm.Employee;
import javax.persistence.Transient;



/**
 * @author 金杰 , maillank@qq.com
 * @since 2025-06-27 09:26:44
 * @sign 7CB6C6C9650055D83F535CD247CF82E0
 * 此文件由工具自动生成，请勿修改。若表结构或配置发生变动，请使用工具重新生成。
*/

public class ProjectUserMeta {
	
	/**
	 * 创建人ID , 类型: java.lang.String
	 */
	public static final String CREATE_BY="createBy";
	
	/**
	 * 创建人ID , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> CREATE_BY_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,CREATE_BY, java.lang.String.class, "创建人ID", "创建人ID", java.lang.String.class, null);
	
	/**
	 * 创建时间 , 类型: java.util.Date
	 */
	public static final String CREATE_TIME="createTime";
	
	/**
	 * 创建时间 , 类型: java.util.Date
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.util.Date> CREATE_TIME_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,CREATE_TIME, java.util.Date.class, "创建时间", "创建时间", java.util.Date.class, null);
	
	/**
	 * 删除人ID , 类型: java.lang.String
	 */
	public static final String DELETE_BY="deleteBy";
	
	/**
	 * 删除人ID , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> DELETE_BY_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,DELETE_BY, java.lang.String.class, "删除人ID", "删除人ID", java.lang.String.class, null);
	
	/**
	 * 删除时间 , 类型: java.util.Date
	 */
	public static final String DELETE_TIME="deleteTime";
	
	/**
	 * 删除时间 , 类型: java.util.Date
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.util.Date> DELETE_TIME_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,DELETE_TIME, java.util.Date.class, "删除时间", "删除时间", java.util.Date.class, null);
	
	/**
	 * 是否已删除 , 类型: java.lang.Integer
	 */
	public static final String DELETED="deleted";
	
	/**
	 * 是否已删除 , 类型: java.lang.Integer
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.Integer> DELETED_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,DELETED, java.lang.Integer.class, "是否已删除", "是否已删除", java.lang.Integer.class, null);
	
	/**
	 * 主键 , 类型: java.lang.String
	 */
	public static final String ID="id";
	
	/**
	 * 主键 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> ID_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,ID, java.lang.String.class, "主键", "主键", java.lang.String.class, null);
	
	/**
	 * 加入时间 , 类型: java.util.Date
	 */
	public static final String IN_TIME="inTime";
	
	/**
	 * 加入时间 , 类型: java.util.Date
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.util.Date> IN_TIME_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,IN_TIME, java.util.Date.class, "加入时间", "加入时间", java.util.Date.class, null);
	
	/**
	 * 离开时间 , 类型: java.util.Date
	 */
	public static final String OUT_TIME="outTime";
	
	/**
	 * 离开时间 , 类型: java.util.Date
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.util.Date> OUT_TIME_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,OUT_TIME, java.util.Date.class, "离开时间", "离开时间", java.util.Date.class, null);
	
	/**
	 * 归属类型 , project,task,phase , 类型: java.lang.String
	 */
	public static final String OWN_TYPE="ownType";
	
	/**
	 * 归属类型 , project,task,phase , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> OWN_TYPE_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,OWN_TYPE, java.lang.String.class, "归属类型", "project,task,phase", java.lang.String.class, null);
	
	/**
	 * 项目名称 , 类型: java.lang.String
	 */
	public static final String PROJECT_ID="projectId";
	
	/**
	 * 项目名称 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> PROJECT_ID_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,PROJECT_ID, java.lang.String.class, "项目名称", "项目名称", java.lang.String.class, null);
	
	/**
	 * 角色 , 类型: java.lang.String
	 */
	public static final String ROLE="role";
	
	/**
	 * 角色 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> ROLE_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,ROLE, java.lang.String.class, "角色", "角色", java.lang.String.class, null);
	
	/**
	 * 人员状态 , 类型: java.lang.String
	 */
	public static final String STATUS="status";
	
	/**
	 * 人员状态 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> STATUS_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,STATUS, java.lang.String.class, "人员状态", "人员状态", java.lang.String.class, null);
	
	/**
	 * 修改人ID , 类型: java.lang.String
	 */
	public static final String UPDATE_BY="updateBy";
	
	/**
	 * 修改人ID , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> UPDATE_BY_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,UPDATE_BY, java.lang.String.class, "修改人ID", "修改人ID", java.lang.String.class, null);
	
	/**
	 * 修改时间 , 类型: java.util.Date
	 */
	public static final String UPDATE_TIME="updateTime";
	
	/**
	 * 修改时间 , 类型: java.util.Date
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.util.Date> UPDATE_TIME_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,UPDATE_TIME, java.util.Date.class, "修改时间", "修改时间", java.util.Date.class, null);
	
	/**
	 * 项目人员 , 类型: java.lang.String
	 */
	public static final String USER_ID="userId";
	
	/**
	 * 项目人员 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> USER_ID_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,USER_ID, java.lang.String.class, "项目人员", "项目人员", java.lang.String.class, null);
	
	/**
	 * version , 类型: java.lang.Integer
	 */
	public static final String VERSION="version";
	
	/**
	 * version , 类型: java.lang.Integer
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.Integer> VERSION_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,VERSION, java.lang.Integer.class, "version", "version", java.lang.Integer.class, null);
	
	/**
	 * user , 类型: org.github.foxnic.web.domain.hrm.Employee
	 */
	public static final String USER="user";
	
	/**
	 * user , 类型: org.github.foxnic.web.domain.hrm.Employee
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,org.github.foxnic.web.domain.hrm.Employee> USER_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,USER, org.github.foxnic.web.domain.hrm.Employee.class, "user", "user", org.github.foxnic.web.domain.hrm.Employee.class, null);
	
	/**
	 * callMethod , 类型: java.lang.String
	 */
	public static final String CALL_METHOD="callMethod";
	
	/**
	 * callMethod , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> CALL_METHOD_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,CALL_METHOD, java.lang.String.class, "callMethod", "callMethod", java.lang.String.class, null);
	
	/**
	 * taskRcdCount , 类型: java.lang.String
	 */
	public static final String TASK_RCD_COUNT="taskRcdCount";
	
	/**
	 * taskRcdCount , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> TASK_RCD_COUNT_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,TASK_RCD_COUNT, java.lang.String.class, "taskRcdCount", "taskRcdCount", java.lang.String.class, null);
	
	/**
	 * workTimeTotal , 类型: java.lang.String
	 */
	public static final String WORK_TIME_TOTAL="workTimeTotal";
	
	/**
	 * workTimeTotal , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> WORK_TIME_TOTAL_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,WORK_TIME_TOTAL, java.lang.String.class, "workTimeTotal", "workTimeTotal", java.lang.String.class, null);
	
	/**
	 * taskCount , 类型: java.lang.String
	 */
	public static final String TASK_COUNT="taskCount";
	
	/**
	 * taskCount , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> TASK_COUNT_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,TASK_COUNT, java.lang.String.class, "taskCount", "taskCount", java.lang.String.class, null);
	
	/**
	 * workRecord , 类型: java.lang.String
	 */
	public static final String WORK_RECORD="workRecord";
	
	/**
	 * workRecord , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> WORK_RECORD_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,WORK_RECORD, java.lang.String.class, "workRecord", "workRecord", java.lang.String.class, null);
	
	/**
	 * taskActingCount , 类型: java.lang.String
	 */
	public static final String TASK_ACTING_COUNT="taskActingCount";
	
	/**
	 * taskActingCount , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> TASK_ACTING_COUNT_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,TASK_ACTING_COUNT, java.lang.String.class, "taskActingCount", "taskActingCount", java.lang.String.class, null);
	
	/**
	 * taskCompleteCount , 类型: java.lang.String
	 */
	public static final String TASK_COMPLETE_COUNT="taskCompleteCount";
	
	/**
	 * taskCompleteCount , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> TASK_COMPLETE_COUNT_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,TASK_COMPLETE_COUNT, java.lang.String.class, "taskCompleteCount", "taskCompleteCount", java.lang.String.class, null);
	
	/**
	 * taskCompletePct , 类型: java.lang.String
	 */
	public static final String TASK_COMPLETE_PCT="taskCompletePct";
	
	/**
	 * taskCompletePct , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> TASK_COMPLETE_PCT_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,TASK_COMPLETE_PCT, java.lang.String.class, "taskCompletePct", "taskCompletePct", java.lang.String.class, null);
	
	/**
	 * taskRecord , 类型: java.lang.String
	 */
	public static final String TASK_RECORD="taskRecord";
	
	/**
	 * taskRecord , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.ProjectUser,java.lang.String> TASK_RECORD_PROP = new BeanProperty(com.dt.platform.domain.oa.ProjectUser.class ,TASK_RECORD, java.lang.String.class, "taskRecord", "taskRecord", java.lang.String.class, null);
	
	/**
	 * 全部属性清单
	 */
	public static final String[] $PROPS={ CREATE_BY , CREATE_TIME , DELETE_BY , DELETE_TIME , DELETED , ID , IN_TIME , OUT_TIME , OWN_TYPE , PROJECT_ID , ROLE , STATUS , UPDATE_BY , UPDATE_TIME , USER_ID , VERSION , USER , CALL_METHOD , TASK_RCD_COUNT , WORK_TIME_TOTAL , TASK_COUNT , WORK_RECORD , TASK_ACTING_COUNT , TASK_COMPLETE_COUNT , TASK_COMPLETE_PCT , TASK_RECORD };
	
	/**
	 * 代理类
	 */
	public static class $$proxy$$ extends com.dt.platform.domain.oa.ProjectUser {

		private static final long serialVersionUID = 1L;

		
		/**
		 * 设置 创建人ID
		 * @param createBy 创建人ID
		 * @return 当前对象
		*/
		public ProjectUser setCreateBy(String createBy) {
			super.change(CREATE_BY,super.getCreateBy(),createBy);
			super.setCreateBy(createBy);
			return this;
		}
		
		/**
		 * 设置 创建时间
		 * @param createTime 创建时间
		 * @return 当前对象
		*/
		public ProjectUser setCreateTime(Date createTime) {
			super.change(CREATE_TIME,super.getCreateTime(),createTime);
			super.setCreateTime(createTime);
			return this;
		}
		
		/**
		 * 设置 删除人ID
		 * @param deleteBy 删除人ID
		 * @return 当前对象
		*/
		public ProjectUser setDeleteBy(String deleteBy) {
			super.change(DELETE_BY,super.getDeleteBy(),deleteBy);
			super.setDeleteBy(deleteBy);
			return this;
		}
		
		/**
		 * 设置 删除时间
		 * @param deleteTime 删除时间
		 * @return 当前对象
		*/
		public ProjectUser setDeleteTime(Date deleteTime) {
			super.change(DELETE_TIME,super.getDeleteTime(),deleteTime);
			super.setDeleteTime(deleteTime);
			return this;
		}
		
		/**
		 * 设置 是否已删除
		 * @param deleted 是否已删除
		 * @return 当前对象
		*/
		public ProjectUser setDeleted(Integer deleted) {
			super.change(DELETED,super.getDeleted(),deleted);
			super.setDeleted(deleted);
			return this;
		}
		
		/**
		 * 设置 主键
		 * @param id 主键
		 * @return 当前对象
		*/
		public ProjectUser setId(String id) {
			super.change(ID,super.getId(),id);
			super.setId(id);
			return this;
		}
		
		/**
		 * 设置 加入时间
		 * @param inTime 加入时间
		 * @return 当前对象
		*/
		public ProjectUser setInTime(Date inTime) {
			super.change(IN_TIME,super.getInTime(),inTime);
			super.setInTime(inTime);
			return this;
		}
		
		/**
		 * 设置 离开时间
		 * @param outTime 离开时间
		 * @return 当前对象
		*/
		public ProjectUser setOutTime(Date outTime) {
			super.change(OUT_TIME,super.getOutTime(),outTime);
			super.setOutTime(outTime);
			return this;
		}
		
		/**
		 * 设置 归属类型
		 * @param ownType 归属类型
		 * @return 当前对象
		*/
		public ProjectUser setOwnType(String ownType) {
			super.change(OWN_TYPE,super.getOwnType(),ownType);
			super.setOwnType(ownType);
			return this;
		}
		
		/**
		 * 设置 项目名称
		 * @param projectId 项目名称
		 * @return 当前对象
		*/
		public ProjectUser setProjectId(String projectId) {
			super.change(PROJECT_ID,super.getProjectId(),projectId);
			super.setProjectId(projectId);
			return this;
		}
		
		/**
		 * 设置 角色
		 * @param role 角色
		 * @return 当前对象
		*/
		public ProjectUser setRole(String role) {
			super.change(ROLE,super.getRole(),role);
			super.setRole(role);
			return this;
		}
		
		/**
		 * 设置 人员状态
		 * @param status 人员状态
		 * @return 当前对象
		*/
		public ProjectUser setStatus(String status) {
			super.change(STATUS,super.getStatus(),status);
			super.setStatus(status);
			return this;
		}
		
		/**
		 * 设置 修改人ID
		 * @param updateBy 修改人ID
		 * @return 当前对象
		*/
		public ProjectUser setUpdateBy(String updateBy) {
			super.change(UPDATE_BY,super.getUpdateBy(),updateBy);
			super.setUpdateBy(updateBy);
			return this;
		}
		
		/**
		 * 设置 修改时间
		 * @param updateTime 修改时间
		 * @return 当前对象
		*/
		public ProjectUser setUpdateTime(Date updateTime) {
			super.change(UPDATE_TIME,super.getUpdateTime(),updateTime);
			super.setUpdateTime(updateTime);
			return this;
		}
		
		/**
		 * 设置 项目人员
		 * @param userId 项目人员
		 * @return 当前对象
		*/
		public ProjectUser setUserId(String userId) {
			super.change(USER_ID,super.getUserId(),userId);
			super.setUserId(userId);
			return this;
		}
		
		/**
		 * 设置 version
		 * @param version version
		 * @return 当前对象
		*/
		public ProjectUser setVersion(Integer version) {
			super.change(VERSION,super.getVersion(),version);
			super.setVersion(version);
			return this;
		}
		
		/**
		 * 设置 user
		 * @param user user
		 * @return 当前对象
		*/
		public ProjectUser setUser(Employee user) {
			super.change(USER,super.getUser(),user);
			super.setUser(user);
			return this;
		}
		
		/**
		 * 设置 callMethod
		 * @param callMethod callMethod
		 * @return 当前对象
		*/
		public ProjectUser setCallMethod(String callMethod) {
			super.change(CALL_METHOD,super.getCallMethod(),callMethod);
			super.setCallMethod(callMethod);
			return this;
		}
		
		/**
		 * 设置 taskRcdCount
		 * @param taskRcdCount taskRcdCount
		 * @return 当前对象
		*/
		public ProjectUser setTaskRcdCount(String taskRcdCount) {
			super.change(TASK_RCD_COUNT,super.getTaskRcdCount(),taskRcdCount);
			super.setTaskRcdCount(taskRcdCount);
			return this;
		}
		
		/**
		 * 设置 workTimeTotal
		 * @param workTimeTotal workTimeTotal
		 * @return 当前对象
		*/
		public ProjectUser setWorkTimeTotal(String workTimeTotal) {
			super.change(WORK_TIME_TOTAL,super.getWorkTimeTotal(),workTimeTotal);
			super.setWorkTimeTotal(workTimeTotal);
			return this;
		}
		
		/**
		 * 设置 taskCount
		 * @param taskCount taskCount
		 * @return 当前对象
		*/
		public ProjectUser setTaskCount(String taskCount) {
			super.change(TASK_COUNT,super.getTaskCount(),taskCount);
			super.setTaskCount(taskCount);
			return this;
		}
		
		/**
		 * 设置 workRecord
		 * @param workRecord workRecord
		 * @return 当前对象
		*/
		public ProjectUser setWorkRecord(String workRecord) {
			super.change(WORK_RECORD,super.getWorkRecord(),workRecord);
			super.setWorkRecord(workRecord);
			return this;
		}
		
		/**
		 * 设置 taskActingCount
		 * @param taskActingCount taskActingCount
		 * @return 当前对象
		*/
		public ProjectUser setTaskActingCount(String taskActingCount) {
			super.change(TASK_ACTING_COUNT,super.getTaskActingCount(),taskActingCount);
			super.setTaskActingCount(taskActingCount);
			return this;
		}
		
		/**
		 * 设置 taskCompleteCount
		 * @param taskCompleteCount taskCompleteCount
		 * @return 当前对象
		*/
		public ProjectUser setTaskCompleteCount(String taskCompleteCount) {
			super.change(TASK_COMPLETE_COUNT,super.getTaskCompleteCount(),taskCompleteCount);
			super.setTaskCompleteCount(taskCompleteCount);
			return this;
		}
		
		/**
		 * 设置 taskCompletePct
		 * @param taskCompletePct taskCompletePct
		 * @return 当前对象
		*/
		public ProjectUser setTaskCompletePct(String taskCompletePct) {
			super.change(TASK_COMPLETE_PCT,super.getTaskCompletePct(),taskCompletePct);
			super.setTaskCompletePct(taskCompletePct);
			return this;
		}
		
		/**
		 * 设置 taskRecord
		 * @param taskRecord taskRecord
		 * @return 当前对象
		*/
		public ProjectUser setTaskRecord(String taskRecord) {
			super.change(TASK_RECORD,super.getTaskRecord(),taskRecord);
			super.setTaskRecord(taskRecord);
			return this;
		}

		/**
		 * 克隆当前对象
		*/
		@Transient
		public ProjectUser clone() {
			return duplicate(true);
		}

		/**
		 * 复制当前对象
		 * @param all 是否复制全部属性，当 false 时，仅复制来自数据表的属性
		*/
		@Transient
		public ProjectUser duplicate(boolean all) {
			$$proxy$$ inst=new $$proxy$$();
			inst.setRole(this.getRole());
			inst.setUpdateTime(this.getUpdateTime());
			inst.setUserId(this.getUserId());
			inst.setVersion(this.getVersion());
			inst.setInTime(this.getInTime());
			inst.setCreateBy(this.getCreateBy());
			inst.setDeleted(this.getDeleted());
			inst.setCreateTime(this.getCreateTime());
			inst.setDeleteTime(this.getDeleteTime());
			inst.setUpdateBy(this.getUpdateBy());
			inst.setDeleteBy(this.getDeleteBy());
			inst.setOwnType(this.getOwnType());
			inst.setId(this.getId());
			inst.setProjectId(this.getProjectId());
			inst.setOutTime(this.getOutTime());
			inst.setStatus(this.getStatus());
			if(all) {
				inst.setCallMethod(this.getCallMethod());
				inst.setTaskRcdCount(this.getTaskRcdCount());
				inst.setTaskCount(this.getTaskCount());
				inst.setTaskCompletePct(this.getTaskCompletePct());
				inst.setTaskRecord(this.getTaskRecord());
				inst.setTaskActingCount(this.getTaskActingCount());
				inst.setWorkRecord(this.getWorkRecord());
				inst.setWorkTimeTotal(this.getWorkTimeTotal());
				inst.setTaskCompleteCount(this.getTaskCompleteCount());
				inst.setUser(this.getUser());
			}
			inst.clearModifies();
			return inst;
		}

	}
}